package com.powerband.apiheartrate.ble.fbkBleController

import com.powerband.apiheartrate.ble.fbkBleDevice.FBKBleDeviceStatus
import android.bluetooth.BluetoothGattCharacteristic
import com.powerband.apiheartrate.base.FBKArmBandCmd
import com.powerband.apiheartrate.base.FBKSummaryType
import com.powerband.apiheartrate.ble.fbkBleDevice.FBKBleDevice

interface FBKBleControllerCallBack {
    fun onFinishDiscovery()
    fun onDiscoveryDevice(result: FBKBleDevice)
    fun bleConnectError(error: String?)
    fun bleScanError(error: String?)
    fun bleConnectStatus(connectStatus: FBKBleDeviceStatus?)
    fun bleConnectStatusLog(logString: String?)
    fun bleWriteDataResult(isSucceed: Boolean)
    fun bleConnectResult(characteristic: BluetoothGattCharacteristic)

    fun bleReceivedResult(type: FBKArmBandCmd, data: ByteArray?)
    fun bleConnectInfo(information: String?)
    fun bleConnectUuids(charUuidArray: List<BluetoothGattCharacteristic>?)
    fun bleDidWriteValue(data: ByteArray?)
    fun bleDidReadValue(data: ByteArray?)

    fun bleSummaryInfo(info: List<Map<String, Any>>, type: FBKSummaryType)

    fun logOutBufferData(data: List<Byte>)
    fun requestTime()
    fun totalPacket(num: Int)
}